package xyz.ddlnt.serviceusr.service;

import com.baomidou.mybatisplus.extension.service.IService;
import xyz.ddlnt.model.dto.PageDTO;
import xyz.ddlnt.model.dto.PostDescriptionDTO;
import xyz.ddlnt.model.dto.SearchDTO;
import xyz.ddlnt.model.entity.Note;
import xyz.ddlnt.model.entity.Post;
import xyz.ddlnt.model.vo.PostLatestVO;
import xyz.ddlnt.model.vo.PostNodeVO;
import xyz.ddlnt.model.vo.PostVO;

import java.util.List;

/**
 * @author ZZULI_SE 210910
 * @data 2025/5/9 16:52
 */
public interface PostService extends IService<Post> {

    /**
     * 发布帖子
     * @param postDescriptionDTO
     * @return
     */
    Boolean PublishPost(PostDescriptionDTO postDescriptionDTO);

    /**
     * 获取帖子列表
     * @param pageDTO
     * @return
     */
    List<PostVO> getPostLists(PageDTO pageDTO);

    /**
     * 查询博主最新发布列表
     * @param pageDTO
     * @return
     */
    List<PostVO> getBloggerPublish(PageDTO pageDTO);

    /**
     * 搜索帖子
     * @param searchDTO
     * @return
     */
    List<PostVO> searchPostList(SearchDTO searchDTO);

    /**
     * 获取博主最新发布列表
     * @param bloggerId
     * @return
     */
    List<PostLatestVO> getPostLatestList(Long bloggerId);

    /**
     * 查询帖子目录和节点信息
     * @param postId
     * @return
     */
    PostNodeVO getPostNodeInfo(Long postId);

    /**
     * 获取帖子信息
     * @param id
     * @return
     */
    PostVO getPost(Long id);
}
